home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Transactor
/
Transactor_12_1986_Transactor_Publishing.d64
/
vocab manager
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2023-02-26
|
3KB
|
187 lines
0 rem vocab manager (aug 29/84) :
1 :
2 rem 2 statements, 2 functions
3 :
4 rem keyword characters: 20
5 :
6 rem keyword routine line ser #
7 rem s/file fil 4194 050
8 rem s/initfp infptr 4274 051
9 rem f/fploc fplo 4308 052
10 rem f/scan( scan 4316 053
11 :
12 rem u/cifchr (2560/003)
13 rem u/usfp (2620/006)
14 rem u/cifnum (4092/047)
15 rem d/flptr (4470/054)
16 :
17 rem ================================
18 :
113 .asc "fil[197]initf[208]"
610 .asc "fplo[195]scan[168]"
1113 .word fil-1,infptr-1
1610 .word fplo-1,scan-1
2560 cifchr cmp #$5b;test alphabetic
2562 bcc cic1
2564 clc
2566 bcc cic2
2568 cic1 cmp #$41
2570 cic2 rts
2572 ;
2620 usfp ldx #0
2622 stx $0d
2624 sta $62
2626 sty $63
2628 ldx #$90
2630 sec
2632 jmp $bc49
2634 ;
4092 cifnum cmp #":";test numeric
4094 bcc cin1
4096 clc
4098 bcc cin2
4100 cin1 cmp #"0"
4102 cin2 rts
4104 ;
4194 fil cmp #$22
4196 bne fi4
4198 ldy flptr
4200 lda flptr+1
4202 sty $22
4204 sta $23
4206 fi1 ldy #0
4208 jsr $73
4210 bcc fi2
4212 cmp #0
4214 beq fi3
4216 cmp #$22
4218 beq fi4
4220 cmp #","
4222 beq fi3
4224 jsr cifchr
4226 bcc fi1
4228 fi2 tax
4230 sta ($22),y
4232 inc $22
4234 bne fi1
4236 inc $23
4237 lda $23
4238 cmp #$c0
4240 bne fi1
4242 jmp $a435
4244 fi3 pha
4246 dey
4248 dec $23
4250 txa
4252 ora #$80
4254 sta ($22),y
4256 inc $23
4258 pla
4260 cmp #","
4262 beq fi1
4264 ldy $22
4266 lda $23
4268 bne ifp4
4270 fi4 jmp $af08
4272 ;
4274 infptr beq ifp2;no param
4276 jsr $ad8a
4278 jsr $b7f7
4280 cmp #$a0
4282 bcc ifp1
4284 beq ifp3
4286 cmp #$c0
4288 bcc ifp4
4290 ifp1 jmp $b248
4292 ifp2 ldy #1
4294 lda #$a0
4296 ifp3 cpy #0
4298 beq ifp1
4300 ifp4 sty flptr
4302 sta flptr+1
4304 rts
4306 ;
4308 fplo ldy flptr
4310 lda flptr+1
4312 jmp usfp
4314 ;
4316 scan jsr $aef4
4318 jsr $b6a3
4320 sta t3
4322 sta t4
4324 txa
4326 pha
4328 tya
4330 pha
4332 lda t3
4334 jsr $b47d
4336 stx $24
4338 sty $25
4340 pla
4342 sta $23
4344 pla
4346 sta $22
4348 dec 1
4350 ldy #$ff
4352 ldx #0
4354 sca1 dec t4
4356 sca2 iny
4358 cpy t3
4360 beq sca4
4362 lda ($22),y
4364 jsr cifnum
4366 bcs sca3
4368 and #$7f
4370 jsr cifchr
4372 bcc sca1
4374 sca3 sta ($62,x);add to new string
4376 jsr bmp62
4378 bne sca2
4380 sca4 stx t5
4382 stx t6
4384 bit t4
4386 bmi sca11
4388 lda #1
4390 sta $62
4392 lda #$a0
4394 sta $63
4396 sca5 inc t5
4398 bne sca6
4400 inc t6
4402 sca6 lda $63
4404 cmp flptr+1
4406 bne sca7
4408 lda $62
4410 cmp flptr
4412 sca7 txa
4414 tay
4416 bcs sca12
4418 dey
4420 sca8 iny
4422 lda ($62),y
4424 cpy t4
4426 beq sca9
4428 cmp ($24),y
4430 beq sca8
4432 bne sca10
4434 sca9 sbc ($24),y;test last vocab
4436 cmp #$80
4438 beq sca11
4440 sca10 lda ($62,x);advance vocab
4442 php
4444 jsr bmp62
4446 plp
4448 bpl sca10
4450 bmi sca5
4452 sca11 ldy t5
4454 lda t6
4456 sca12 inc 1
4458 jmp $b391
4460 bmp62 inc $62
4462 bne b62
4464 inc $63
4466 b62 rts
4468 ;
4470 flptr .word $a001;ptr to file bufr
4472 ;